﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using PJB.FacetedNavigation;

namespace TestData
{
    internal class Program
    {
        private static List<string> _companyList = new List<string>();
        private static List<string> _specialtyList = new List<string>();
        private static List<string> _positionTypeList = new List<string>();
        private static List<string> _jobTypeList = new List<string>();
        private static List<string> _stateList = new List<string>();
        private static List<ZipInfo> _zipList = new List<ZipInfo>();
        
        private static void Main(string[] args)
        {
            #region Load Data

            #region Company
            _companyList.Add("All-Star Recruiting");
            _companyList.Add("Barton Associates");
            _companyList.Add("EmCare");
            _companyList.Add("(Confidential)");
            _companyList.Add("Beck-Field & Associates");
            _companyList.Add("LocumTenens.com");
            _companyList.Add("Medical Associates Consulting");
            _companyList.Add("Physicians Recruitment Network");
            _companyList.Add("Nationwide Locum Tenens, LLC");
            #endregion

            #region Specialty
            _specialtyList.Add("Addiction Medicine");
            _specialtyList.Add("Administration");
            _specialtyList.Add("Aerospace Medicine");
            _specialtyList.Add("Allergy/Immunology");
            _specialtyList.Add("Ambulatory Care");
            _specialtyList.Add("Anesthesiology");
            _specialtyList.Add("Anesthesiology - Pain Management");
            _specialtyList.Add("Anesthesiology - Pediatric");
            _specialtyList.Add("Cardiology");
            _specialtyList.Add("Cardiology - Electrophysiology");
            _specialtyList.Add("Cardiology - General");
            _specialtyList.Add("Cardiology - Interventional");
            _specialtyList.Add("Cardiology - Invasive");
            _specialtyList.Add("Cardiology - Non Invasive");
            _specialtyList.Add("Cardiology - Pediatric");
            _specialtyList.Add("Certified Nurse Midwife");
            _specialtyList.Add("Clinical Pharmacology");
            _specialtyList.Add("Clinical Research");
            _specialtyList.Add("Correctional Medicine");
            _specialtyList.Add("Critical Care");
            _specialtyList.Add("Dental - General");
            _specialtyList.Add("Dentist");
            _specialtyList.Add("Dermapathology");
            _specialtyList.Add("Dermatology");
            _specialtyList.Add("Emergency Medicine");
            _specialtyList.Add("Emergency Medicine - Pediatric");
            _specialtyList.Add("Endocrinology");
            _specialtyList.Add("Endocrinology - Pediatric");
            _specialtyList.Add("Endocrinology - Reproductive");
            _specialtyList.Add("Family Practice");
            _specialtyList.Add("Family Practice with OB");
            _specialtyList.Add("Gastroenterology");
            _specialtyList.Add("Gastroenterology - Hepatology");
            _specialtyList.Add("Gastroenterology - Pediatric");
            _specialtyList.Add("General Practice");
            _specialtyList.Add("Geriatrics");
            _specialtyList.Add("Gynecology");
            _specialtyList.Add("Hematology");
            _specialtyList.Add("Hospice");
            _specialtyList.Add("Hospitalist");
            _specialtyList.Add("Hospitalist - Nocturnist");
            _specialtyList.Add("Hospitalist - Pediatric");
            _specialtyList.Add("Hyperbaric Medicine");
            _specialtyList.Add("Infectious Disease");
            _specialtyList.Add("Integrative Medicine");
            _specialtyList.Add("Internal Medicine");
            _specialtyList.Add("Maritime - Cruise Ship Medicine");
            _specialtyList.Add("Maternal Fetal Medicine");
            _specialtyList.Add("Med-Ped");
            _specialtyList.Add("Medical Genetics");
            _specialtyList.Add("Medical Informatics");
            _specialtyList.Add("Medical Sales");
            _specialtyList.Add("Neonatology");
            _specialtyList.Add("Nephrology");
            _specialtyList.Add("Nephrology - Pediatric");
            _specialtyList.Add("Neurology");
            _specialtyList.Add("Neurology - Pediatric/Child");
            _specialtyList.Add("Non Clinical Physician Jobs");
            _specialtyList.Add("Nuclear Medicine");
            _specialtyList.Add("Nurse Practitioner");
            _specialtyList.Add("ObGyn");
            _specialtyList.Add("ObGyn - Urogynecology");
            _specialtyList.Add("Occupational Medicine");
            _specialtyList.Add("Oncology");
            _specialtyList.Add("Oncology - Gynecological");
            _specialtyList.Add("Oncology - Hematology");
            _specialtyList.Add("Oncology - Hematology-Pediatric");
            _specialtyList.Add("Oncology - Medical");
            _specialtyList.Add("Oncology - Radiation");
            _specialtyList.Add("Oncology - Urological");
            _specialtyList.Add("Ophthalmology");
            _specialtyList.Add("Orthopedics");
            _specialtyList.Add("Other");
            _specialtyList.Add("Otolaryngology");
            _specialtyList.Add("Pain Management");
            _specialtyList.Add("Palliative Medicine");
            _specialtyList.Add("Pathology");
            _specialtyList.Add("Pediatric Intensive Care");
            _specialtyList.Add("Pediatrics");
            _specialtyList.Add("Perinatology");
            _specialtyList.Add("Pharmacist");
            _specialtyList.Add("Physical Medicine and Rehab");
            _specialtyList.Add("Physician Assistant");
            _specialtyList.Add("Physician Recruiter");
            _specialtyList.Add("Podiatry");
            _specialtyList.Add("Preventive Medicine");
            _specialtyList.Add("Psychiatry");
            _specialtyList.Add("Psychiatry - Child/Adolescent");
            _specialtyList.Add("Psychiatry - Geriatric");
            _specialtyList.Add("Pulmonology");
            _specialtyList.Add("Pulmonology - Pediatric");
            _specialtyList.Add("Pulmonology - Sleep Medicine");
            _specialtyList.Add("Pulmonology-Critical Care");
            _specialtyList.Add("Radiology");
            _specialtyList.Add("Radiology - Body Imaging");
            _specialtyList.Add("Radiology - Breast Imaging");
            _specialtyList.Add("Radiology - Diagnostic");
            _specialtyList.Add("Radiology - Interventional");
            _specialtyList.Add("Radiology - Mammography");
            _specialtyList.Add("Radiology - Musculoskeletal");
            _specialtyList.Add("Radiology - Neuroradiology");
            _specialtyList.Add("Radiology - Neuroradiology - Interventional");
            _specialtyList.Add("Radiology - Pediatric");
            _specialtyList.Add("Rheumatology");
            _specialtyList.Add("Sleep Disorders");
            _specialtyList.Add("Sleep Medicine - Psychiatry");
            _specialtyList.Add("Sports Medicine");
            _specialtyList.Add("Surgery - Bariatric");
            _specialtyList.Add("Surgery - Breast");
            _specialtyList.Add("Surgery - Cardiothoracic");
            _specialtyList.Add("Surgery - Cardiothoracic - Pediatric");
            _specialtyList.Add("Surgery - Cardiovascular");
            _specialtyList.Add("Surgery - Colon-Rectal");
            _specialtyList.Add("Surgery - General");
            _specialtyList.Add("Surgery - General-Hand");
            _specialtyList.Add("Surgery - Gynecological");
            _specialtyList.Add("Surgery - Maxillofacial");
            _specialtyList.Add("Surgery - Neurological");
            _specialtyList.Add("Surgery - Neurological - Pediatric");
            _specialtyList.Add("Surgery - Oncology");
            _specialtyList.Add("Surgery - Orthopedics");
            _specialtyList.Add("Surgery - Orthopedics-Foot-Ankle");
            _specialtyList.Add("Surgery - Orthopedics-Hand");
            _specialtyList.Add("Surgery - Orthopedics-Pediatric");
            _specialtyList.Add("Surgery - Orthopedics-Spine");
            _specialtyList.Add("Surgery - Orthopedics-Sports Medicine");
            _specialtyList.Add("Surgery - Orthopedics-Trauma");
            _specialtyList.Add("Surgery - Pediatric");
            _specialtyList.Add("Surgery - Plastic");
            _specialtyList.Add("Surgery - Plastic - Hand");
            _specialtyList.Add("Surgery - Thoracic");
            _specialtyList.Add("Surgery - Transplant");
            _specialtyList.Add("Surgery - Trauma");
            _specialtyList.Add("Surgery - Urological");
            _specialtyList.Add("Surgery - Vascular");
            _specialtyList.Add("Surgical Oncology");
            _specialtyList.Add("Telemedicine");
            _specialtyList.Add("Urgent Care");
            _specialtyList.Add("Urology");
            _specialtyList.Add("Vascular Medicine");
            _specialtyList.Add("Wound Care");
            #endregion

            _positionTypeList.Add("Locum or Permanent");
            _positionTypeList.Add("Locums to Perm");
            _positionTypeList.Add("Permanent");
            _positionTypeList.Add("Locum tenens");

            _jobTypeList.Add("Physician");
            _jobTypeList.Add("MD");
            _jobTypeList.Add("DO");
            _jobTypeList.Add("NP");
            _jobTypeList.Add("PA");
            _jobTypeList.Add("CRNA");

            #region Zip

            _zipList.Add(new ZipInfo() { State = "Alaska", Latitude = 61.2149, Longitude = -149.863 });
            _zipList.Add(new ZipInfo() { State = "Alabama", Latitude = 33.2926, Longitude = -87.1591 });
            _zipList.Add(new ZipInfo() { State = "Alabama", Latitude = 34.9484, Longitude = -88.0069 });
            _zipList.Add(new ZipInfo() { State = "Alabama", Latitude = 34.5502, Longitude = -86.6942 });
            _zipList.Add(new ZipInfo() { State = "Alabama", Latitude = 34.7401, Longitude = -86.6288 });
            _zipList.Add(new ZipInfo() { State = "Alabama", Latitude = 33.9319, Longitude = -86.1755 });
            _zipList.Add(new ZipInfo() { State = "Alabama", Latitude = 34.0646, Longitude = -86.2873 });
            _zipList.Add(new ZipInfo() { State = "Alabama", Latitude = 33.8657, Longitude = -85.8893 });
            _zipList.Add(new ZipInfo() { State = "Alabama", Latitude = 31.2021, Longitude = -85.2958 });
            _zipList.Add(new ZipInfo() { State = "Alabama", Latitude = 30.647, Longitude = -88.2373 });
            _zipList.Add(new ZipInfo() { State = "Alabama", Latitude = 32.4754, Longitude = -86.8483 });
            _zipList.Add(new ZipInfo() { State = "Alabama", Latitude = 32.3373, Longitude = -85.0205 });
            _zipList.Add(new ZipInfo() { State = "Alabama", Latitude = 32.7859, Longitude = -85.5319 });
            _zipList.Add(new ZipInfo() { State = "Arkansas", Latitude = 34.4449, Longitude = -92.0394 });
            _zipList.Add(new ZipInfo() { State = "Arkansas", Latitude = 34.7475, Longitude = -92.2791 });
            _zipList.Add(new ZipInfo() { State = "Arkansas", Latitude = 35.3386, Longitude = -90.2528 });
            _zipList.Add(new ZipInfo() { State = "Arkansas", Latitude = 35.8501, Longitude = -90.679 });
            _zipList.Add(new ZipInfo() { State = "Arkansas", Latitude = 35.8124, Longitude = -94.1047 });
            _zipList.Add(new ZipInfo() { State = "Arizona", Latitude = 32.6994, Longitude = -114.675 });
            _zipList.Add(new ZipInfo() { State = "Arizona", Latitude = 32.5933, Longitude = -110.614 });
            _zipList.Add(new ZipInfo() { State = "Arizona", Latitude = 32.0916, Longitude = -110.858 });
            _zipList.Add(new ZipInfo() { State = "Arizona", Latitude = 36.1144, Longitude = -112.527 });
            _zipList.Add(new ZipInfo() { State = "California", Latitude = 32.996, Longitude = -117.074 });
            _zipList.Add(new ZipInfo() { State = "California", Latitude = 34.557, Longitude = -120.141 });
            _zipList.Add(new ZipInfo() { State = "California", Latitude = 35.1217, Longitude = -120.62 });
            _zipList.Add(new ZipInfo() { State = "California", Latitude = 35.0049, Longitude = -117.65 });
            _zipList.Add(new ZipInfo() { State = "California", Latitude = 34.5794, Longitude = -118.116 });
            _zipList.Add(new ZipInfo() { State = "California", Latitude = 36.4547, Longitude = -119.484 });
            _zipList.Add(new ZipInfo() { State = "California", Latitude = 36.7536, Longitude = -119.677 });
            _zipList.Add(new ZipInfo() { State = "California", Latitude = 36.7953, Longitude = -121.785 });
            _zipList.Add(new ZipInfo() { State = "California", Latitude = 37.398, Longitude = -120.612 });
            _zipList.Add(new ZipInfo() { State = "California", Latitude = 37.6598, Longitude = -120.994 });
            _zipList.Add(new ZipInfo() { State = "California", Latitude = 38.2238, Longitude = -121.438 });
            _zipList.Add(new ZipInfo() { State = "California", Latitude = 38.3175, Longitude = -121.923 });
            _zipList.Add(new ZipInfo() { State = "California", Latitude = 39.9543, Longitude = -121.515 });
            _zipList.Add(new ZipInfo() { State = "California", Latitude = 39.1239, Longitude = -121.665 });
            _zipList.Add(new ZipInfo() { State = "California", Latitude = 40.6408, Longitude = -122.507 });
            _zipList.Add(new ZipInfo() { State = "California", Latitude = 38.9288, Longitude = -119.965 });
            _zipList.Add(new ZipInfo() { State = "Colorado", Latitude = 40.5667, Longitude = -105.045 });
            _zipList.Add(new ZipInfo() { State = "Colorado", Latitude = 40.5974, Longitude = -103.65 });
            _zipList.Add(new ZipInfo() { State = "Colorado", Latitude = 38.8775, Longitude = -104.82 });
            _zipList.Add(new ZipInfo() { State = "Colorado", Latitude = 37.9279, Longitude = -104.901 });
            _zipList.Add(new ZipInfo() { State = "Colorado", Latitude = 39.1892, Longitude = -108.06 });
            _zipList.Add(new ZipInfo() { State = "Connecticut", Latitude = 41.9778, Longitude = -71.8472 });
            _zipList.Add(new ZipInfo() { State = "Connecticut", Latitude = 41.2997, Longitude = -72.3904 });
            _zipList.Add(new ZipInfo() { State = "Connecticut", Latitude = 41.7549, Longitude = -73.0582 });
            _zipList.Add(new ZipInfo() { State = "Delaware", Latitude = 39.0703, Longitude = -75.5685 });
            _zipList.Add(new ZipInfo() { State = "Florida", Latitude = 30.429, Longitude = -84.2588 });
            _zipList.Add(new ZipInfo() { State = "Florida", Latitude = 30.3372, Longitude = -85.5232 });
            _zipList.Add(new ZipInfo() { State = "Florida", Latitude = 30.525, Longitude = -86.4737 });
            _zipList.Add(new ZipInfo() { State = "Florida", Latitude = 30.4205, Longitude = -87.2245 });
            _zipList.Add(new ZipInfo() { State = "Florida", Latitude = 29.7959, Longitude = -81.9872 });
            _zipList.Add(new ZipInfo() { State = "Florida", Latitude = 29.7858, Longitude = -82.1709 });
            _zipList.Add(new ZipInfo() { State = "Florida", Latitude = 28.9486, Longitude = -81.2988 });
            _zipList.Add(new ZipInfo() { State = "Florida", Latitude = 27.8772, Longitude = -80.5173 });
            _zipList.Add(new ZipInfo() { State = "Florida", Latitude = 26.4068, Longitude = -80.1063 });
            _zipList.Add(new ZipInfo() { State = "Florida", Latitude = 26.3849, Longitude = -81.7098 });
            _zipList.Add(new ZipInfo() { State = "Florida", Latitude = 25.9044, Longitude = -81.3058 });
            _zipList.Add(new ZipInfo() { State = "Florida", Latitude = 25.9432, Longitude = -81.7183 });
            _zipList.Add(new ZipInfo() { State = "Florida", Latitude = 26.9261, Longitude = -82.3018 });
            _zipList.Add(new ZipInfo() { State = "Florida", Latitude = 26.932, Longitude = -82.284 });
            _zipList.Add(new ZipInfo() { State = "Florida", Latitude = 28.9909, Longitude = -82.0472 });
            _zipList.Add(new ZipInfo() { State = "Florida", Latitude = 28.0231, Longitude = -82.7687 });
            _zipList.Add(new ZipInfo() { State = "Florida", Latitude = 28.1438, Longitude = -81.4539 });
            _zipList.Add(new ZipInfo() { State = "Florida", Latitude = 28.7416, Longitude = -81.8184 });
            _zipList.Add(new ZipInfo() { State = "Florida", Latitude = 27.1387, Longitude = -80.2148 });
            _zipList.Add(new ZipInfo() { State = "Georgia", Latitude = 33.9579, Longitude = -83.2902 });
            _zipList.Add(new ZipInfo() { State = "Georgia", Latitude = 33.4573, Longitude = -81.995 });
            _zipList.Add(new ZipInfo() { State = "Georgia", Latitude = 32.8063, Longitude = -83.6932 });
            _zipList.Add(new ZipInfo() { State = "Georgia", Latitude = 32.0833, Longitude = -81.1208 });
            _zipList.Add(new ZipInfo() { State = "Georgia", Latitude = 31.905, Longitude = -84.25 });
            _zipList.Add(new ZipInfo() { State = "Georgia", Latitude = 33.8877, Longitude = -84.2902 });
            _zipList.Add(new ZipInfo() { State = "Hawaii", Latitude = 21.312, Longitude = -157.863 });
            _zipList.Add(new ZipInfo() { State = "Iowa", Latitude = 42.4829, Longitude = -92.2771 });
            _zipList.Add(new ZipInfo() { State = "Iowa", Latitude = 41.5834, Longitude = -93.6389 });
            _zipList.Add(new ZipInfo() { State = "Iowa", Latitude = 42.4989, Longitude = -90.6682 });
            _zipList.Add(new ZipInfo() { State = "Iowa", Latitude = 41.9746, Longitude = -91.6581 });
            _zipList.Add(new ZipInfo() { State = "Iowa", Latitude = 41.4845, Longitude = -91.4252 });
            _zipList.Add(new ZipInfo() { State = "Idaho", Latitude = 42.325, Longitude = -111.996 });
            _zipList.Add(new ZipInfo() { State = "Idaho", Latitude = 43.6136, Longitude = -116.203 });
            _zipList.Add(new ZipInfo() { State = "Illinois", Latitude = 41.1093, Longitude = -88.1455 });
            _zipList.Add(new ZipInfo() { State = "Illinois", Latitude = 42.3526, Longitude = -88.9968 });
            _zipList.Add(new ZipInfo() { State = "Illinois", Latitude = 41.1793, Longitude = -90.315 });
            _zipList.Add(new ZipInfo() { State = "Illinois", Latitude = 40.7424, Longitude = -89.1352 });
            _zipList.Add(new ZipInfo() { State = "Illinois", Latitude = 40.431, Longitude = -88.9855 });
            _zipList.Add(new ZipInfo() { State = "Illinois", Latitude = 39.9881, Longitude = -88.2613 });
            _zipList.Add(new ZipInfo() { State = "Illinois", Latitude = 39.9298, Longitude = -89.0596 });
            _zipList.Add(new ZipInfo() { State = "Illinois", Latitude = 39.7946, Longitude = -89.6251 });
            _zipList.Add(new ZipInfo() { State = "Indiana", Latitude = 41.5384, Longitude = -86.0836 });
            _zipList.Add(new ZipInfo() { State = "Indiana", Latitude = 41.6704, Longitude = -86.2528 });
            _zipList.Add(new ZipInfo() { State = "Indiana", Latitude = 40.9965, Longitude = -85.2372 });
            _zipList.Add(new ZipInfo() { State = "Indiana", Latitude = 40.4394, Longitude = -86.2161 });
            _zipList.Add(new ZipInfo() { State = "Indiana", Latitude = 39.2889, Longitude = -84.8664 });
            _zipList.Add(new ZipInfo() { State = "Indiana", Latitude = 38.2868, Longitude = -85.733 });
            _zipList.Add(new ZipInfo() { State = "Indiana", Latitude = 39.3942, Longitude = -85.6859 });
            _zipList.Add(new ZipInfo() { State = "Indiana", Latitude = 40.1743, Longitude = -85.489 });
            _zipList.Add(new ZipInfo() { State = "Indiana", Latitude = 39.1666, Longitude = -86.5215 });
            _zipList.Add(new ZipInfo() { State = "Indiana", Latitude = 37.9624, Longitude = -87.5056 });
            _zipList.Add(new ZipInfo() { State = "Indiana", Latitude = 40.0761, Longitude = -87.4774 });
            _zipList.Add(new ZipInfo() { State = "Indiana", Latitude = 40.4447, Longitude = -86.9119 });
            _zipList.Add(new ZipInfo() { State = "Kansas", Latitude = 38.971, Longitude = -95.2797 });
            _zipList.Add(new ZipInfo() { State = "Kansas", Latitude = 38.9938, Longitude = -94.8729 });
            _zipList.Add(new ZipInfo() { State = "Kansas", Latitude = 39.0541, Longitude = -95.6719 });
            _zipList.Add(new ZipInfo() { State = "Kansas", Latitude = 37.6922, Longitude = -97.3372 });
            _zipList.Add(new ZipInfo() { State = "Kentucky", Latitude = 38.0492, Longitude = -84.5003 });
            _zipList.Add(new ZipInfo() { State = "Kentucky", Latitude = 36.7769, Longitude = -87.3633 });
            _zipList.Add(new ZipInfo() { State = "Kentucky", Latitude = 37.6811, Longitude = -86.8735 });
            _zipList.Add(new ZipInfo() { State = "Louisiana", Latitude = 29.4155, Longitude = -90.7788 });
            _zipList.Add(new ZipInfo() { State = "Louisiana", Latitude = 30.2578, Longitude = -93.2632 });
            _zipList.Add(new ZipInfo() { State = "Louisiana", Latitude = 30.025, Longitude = -90.7775 });
            _zipList.Add(new ZipInfo() { State = "Louisiana", Latitude = 30.4205, Longitude = -91.1396 });
            _zipList.Add(new ZipInfo() { State = "Louisiana", Latitude = 32.5317, Longitude = -93.6534 });
            _zipList.Add(new ZipInfo() { State = "Louisiana", Latitude = 32.5106, Longitude = -92.1817 });
            _zipList.Add(new ZipInfo() { State = "Louisiana", Latitude = 30.6993, Longitude = -91.915 });
            _zipList.Add(new ZipInfo() { State = "Louisiana", Latitude = 31.1618, Longitude = -92.5026 });
            _zipList.Add(new ZipInfo() { State = "Massachusetts", Latitude = 42.2458, Longitude = -73.2041 });
            _zipList.Add(new ZipInfo() { State = "Massachusetts", Latitude = 42.46, Longitude = -72.5642 });
            _zipList.Add(new ZipInfo() { State = "Massachusetts", Latitude = 41.7059, Longitude = -70.2301 });
            _zipList.Add(new ZipInfo() { State = "Maryland", Latitude = 39.3659, Longitude = -75.8864 });
            _zipList.Add(new ZipInfo() { State = "Maine", Latitude = 43.651, Longitude = -70.3301 });
            _zipList.Add(new ZipInfo() { State = "Maine", Latitude = 44.2635, Longitude = -70.19 });
            _zipList.Add(new ZipInfo() { State = "Maine", Latitude = 44.7667, Longitude = -69.2296 });
            _zipList.Add(new ZipInfo() { State = "Michigan", Latitude = 43.3316, Longitude = -83.738 });
            _zipList.Add(new ZipInfo() { State = "Michigan", Latitude = 41.828, Longitude = -86.6899 });
            _zipList.Add(new ZipInfo() { State = "Michigan", Latitude = 42.1492, Longitude = -84.8118 });
            _zipList.Add(new ZipInfo() { State = "Michigan", Latitude = 42.3801, Longitude = -84.6634 });
            _zipList.Add(new ZipInfo() { State = "Michigan", Latitude = 42.4676, Longitude = -84.2109 });
            _zipList.Add(new ZipInfo() { State = "Michigan", Latitude = 41.7708, Longitude = -84.1007 });
            _zipList.Add(new ZipInfo() { State = "Michigan", Latitude = 42.9659, Longitude = -85.6546 });
            _zipList.Add(new ZipInfo() { State = "Minnesota", Latitude = 46.7688, Longitude = -92.1295 });
            _zipList.Add(new ZipInfo() { State = "Minnesota", Latitude = 43.5616, Longitude = -91.6377 });
            _zipList.Add(new ZipInfo() { State = "Minnesota", Latitude = 43.8575, Longitude = -92.486 });
            _zipList.Add(new ZipInfo() { State = "Minnesota", Latitude = 44.5624, Longitude = -93.5653 });
            _zipList.Add(new ZipInfo() { State = "Minnesota", Latitude = 45.5496, Longitude = -94.2297 });
            _zipList.Add(new ZipInfo() { State = "Missouri", Latitude = 39.7768, Longitude = -94.7995 });
            _zipList.Add(new ZipInfo() { State = "Missouri", Latitude = 37.1432, Longitude = -94.4708 });
            _zipList.Add(new ZipInfo() { State = "Missouri", Latitude = 39.0256, Longitude = -92.2485 });
            _zipList.Add(new ZipInfo() { State = "Missouri", Latitude = 37.8587, Longitude = -91.3551 });
            _zipList.Add(new ZipInfo() { State = "Missouri", Latitude = 37.1496, Longitude = -93.2508 });
            _zipList.Add(new ZipInfo() { State = "Mississippi", Latitude = 32.3205, Longitude = -90.2076 });
            _zipList.Add(new ZipInfo() { State = "Mississippi", Latitude = 31.363, Longitude = -89.5892 });
            _zipList.Add(new ZipInfo() { State = "Mississippi", Latitude = 30.3661, Longitude = -88.5473 });
            _zipList.Add(new ZipInfo() { State = "Montana", Latitude = 45.7836, Longitude = -108.505 });
            _zipList.Add(new ZipInfo() { State = "Montana", Latitude = 47.5686, Longitude = -111.617 });
            _zipList.Add(new ZipInfo() { State = "Montana", Latitude = 47.2246, Longitude = -113.5 });
            _zipList.Add(new ZipInfo() { State = "North Carolina", Latitude = 35.9938, Longitude = -78.8988 });
            _zipList.Add(new ZipInfo() { State = "North Carolina", Latitude = 36.0995, Longitude = -77.7207 });
            _zipList.Add(new ZipInfo() { State = "North Carolina", Latitude = 36.3758, Longitude = -76.0848 });
            _zipList.Add(new ZipInfo() { State = "North Carolina", Latitude = 35.1605, Longitude = -78.7377 });
            _zipList.Add(new ZipInfo() { State = "North Carolina", Latitude = 34.2099, Longitude = -77.7983 });
            _zipList.Add(new ZipInfo() { State = "North Carolina", Latitude = 35.2083, Longitude = -77.9168 });
            _zipList.Add(new ZipInfo() { State = "North Carolina", Latitude = 34.698, Longitude = -77.0681 });
            _zipList.Add(new ZipInfo() { State = "North Carolina", Latitude = 35.5326, Longitude = -77.3925 });
            _zipList.Add(new ZipInfo() { State = "North Carolina", Latitude = 36.2369, Longitude = -80.7823 });
            _zipList.Add(new ZipInfo() { State = "North Carolina", Latitude = 35.7407, Longitude = -81.5631 });
            _zipList.Add(new ZipInfo() { State = "North Carolina", Latitude = 35.5835, Longitude = -82.6048 });
            _zipList.Add(new ZipInfo() { State = "North Dakota", Latitude = 46.8745, Longitude = -96.7857 });
            _zipList.Add(new ZipInfo() { State = "North Dakota", Latitude = 47.7758, Longitude = -97.1046 });
            _zipList.Add(new ZipInfo() { State = "North Dakota", Latitude = 46.9034, Longitude = -102.032 });
            _zipList.Add(new ZipInfo() { State = "Nebraska", Latitude = 40.868, Longitude = -96.14 });
            _zipList.Add(new ZipInfo() { State = "Nebraska", Latitude = 40.8186, Longitude = -96.71 });
            _zipList.Add(new ZipInfo() { State = "Nebraska", Latitude = 42.4701, Longitude = -96.4149 });
            _zipList.Add(new ZipInfo() { State = "New Mexico", Latitude = 35.1595, Longitude = -106.578 });
            _zipList.Add(new ZipInfo() { State = "New Mexico", Latitude = 35.7951, Longitude = -105.994 });
            _zipList.Add(new ZipInfo() { State = "New Mexico", Latitude = 32.0117, Longitude = -106.571 });
            _zipList.Add(new ZipInfo() { State = "Nevada", Latitude = 38.8634, Longitude = -117.927 });
            _zipList.Add(new ZipInfo() { State = "Nevada", Latitude = 39.2842, Longitude = -119.791 });
            _zipList.Add(new ZipInfo() { State = "New York", Latitude = 43.5545, Longitude = -73.402 });
            _zipList.Add(new ZipInfo() { State = "New York", Latitude = 42.795, Longitude = -74.6178 });
            _zipList.Add(new ZipInfo() { State = "New York", Latitude = 43.4228, Longitude = -75.8883 });
            _zipList.Add(new ZipInfo() { State = "New York", Latitude = 43.0969, Longitude = -75.2284 });
            _zipList.Add(new ZipInfo() { State = "New York", Latitude = 43.1163, Longitude = -79.0293 });
            _zipList.Add(new ZipInfo() { State = "New York", Latitude = 42.3254, Longitude = -79.5693 });
            _zipList.Add(new ZipInfo() { State = "New York", Latitude = 42.5562, Longitude = -78.0041 });
            _zipList.Add(new ZipInfo() { State = "New York", Latitude = 42.0143, Longitude = -76.5347 });
            _zipList.Add(new ZipInfo() { State = "New York", Latitude = 42.1139, Longitude = -76.76 });
            _zipList.Add(new ZipInfo() { State = "Ohio", Latitude = 39.952, Longitude = -82.2124 });
            _zipList.Add(new ZipInfo() { State = "Ohio", Latitude = 40.1631, Longitude = -80.7057 });
            _zipList.Add(new ZipInfo() { State = "Ohio", Latitude = 40.1605, Longitude = -81.1264 });
            _zipList.Add(new ZipInfo() { State = "Ohio", Latitude = 40.9972, Longitude = -81.0258 });
            _zipList.Add(new ZipInfo() { State = "Ohio", Latitude = 40.9221, Longitude = -81.0269 });
            _zipList.Add(new ZipInfo() { State = "Ohio", Latitude = 40.8122, Longitude = -81.3733 });
            _zipList.Add(new ZipInfo() { State = "Ohio", Latitude = 40.7628, Longitude = -82.5269 });
            _zipList.Add(new ZipInfo() { State = "Ohio", Latitude = 39.9101, Longitude = -83.8372 });
            _zipList.Add(new ZipInfo() { State = "Ohio", Latitude = 38.5953, Longitude = -82.4541 });
            _zipList.Add(new ZipInfo() { State = "Ohio", Latitude = 39.5829, Longitude = -81.2403 });
            _zipList.Add(new ZipInfo() { State = "Ohio", Latitude = 41.1867, Longitude = -83.67 });
            _zipList.Add(new ZipInfo() { State = "Ohio", Latitude = 40.6042, Longitude = -83.9647 });
            _zipList.Add(new ZipInfo() { State = "Oklahoma", Latitude = 34.7504, Longitude = -98.1622 });
            _zipList.Add(new ZipInfo() { State = "Oklahoma", Latitude = 36.57, Longitude = -97.6002 });
            _zipList.Add(new ZipInfo() { State = "Oklahoma", Latitude = 36.8722, Longitude = -96.5653 });
            _zipList.Add(new ZipInfo() { State = "Oklahoma", Latitude = 34.9913, Longitude = -97.0344 });
            _zipList.Add(new ZipInfo() { State = "Oklahoma", Latitude = 35.5279, Longitude = -94.9639 });
            _zipList.Add(new ZipInfo() { State = "Oregon", Latitude = 44.3243, Longitude = -123.319 });
            _zipList.Add(new ZipInfo() { State = "Oregon", Latitude = 43.9094, Longitude = -124.069 });
            _zipList.Add(new ZipInfo() { State = "Oregon", Latitude = 42.6786, Longitude = -122.758 });
            _zipList.Add(new ZipInfo() { State = "Pennsylvania", Latitude = 40.8353, Longitude = -80.4016 });
            _zipList.Add(new ZipInfo() { State = "Pennsylvania", Latitude = 41.4787, Longitude = -80.0309 });
            _zipList.Add(new ZipInfo() { State = "Pennsylvania", Latitude = 42.0686, Longitude = -80.1005 });
            _zipList.Add(new ZipInfo() { State = "Pennsylvania", Latitude = 40.4614, Longitude = -78.203 });
            _zipList.Add(new ZipInfo() { State = "Pennsylvania", Latitude = 40.4626, Longitude = -78.5866 });
            _zipList.Add(new ZipInfo() { State = "Pennsylvania", Latitude = 40.928, Longitude = -77.3097 });
            _zipList.Add(new ZipInfo() { State = "Pennsylvania", Latitude = 40.1058, Longitude = -77.5261 });
            _zipList.Add(new ZipInfo() { State = "Pennsylvania", Latitude = 39.9645, Longitude = -76.7318 });
            _zipList.Add(new ZipInfo() { State = "Pennsylvania", Latitude = 41.3279, Longitude = -77.3519 });
            _zipList.Add(new ZipInfo() { State = "Pennsylvania", Latitude = 41.4127, Longitude = -75.1685 });
            _zipList.Add(new ZipInfo() { State = "Pennsylvania", Latitude = 41.0603, Longitude = -75.6066 });
            _zipList.Add(new ZipInfo() { State = "Pennsylvania", Latitude = 41.2469, Longitude = -75.8866 });
            _zipList.Add(new ZipInfo() { State = "Pennsylvania", Latitude = 40.2433, Longitude = -76.0558 });
            _zipList.Add(new ZipInfo() { State = "Pennsylvania", Latitude = 40.339, Longitude = -75.9264 });
            _zipList.Add(new ZipInfo() { State = "Puerto Rico", Latitude = 18.0847, Longitude = -67.0455 });
            _zipList.Add(new ZipInfo() { State = "Puerto Rico", Latitude = 18.4973, Longitude = -67.097 });
            _zipList.Add(new ZipInfo() { State = "Puerto Rico", Latitude = 18.0548, Longitude = -66.5053 });
            _zipList.Add(new ZipInfo() { State = "Puerto Rico", Latitude = 18.4084, Longitude = -65.9811 });
            _zipList.Add(new ZipInfo() { State = "Rhode Island", Latitude = 41.822, Longitude = -71.4197 });
            _zipList.Add(new ZipInfo() { State = "South Carolina", Latitude = 33.904, Longitude = -80.4992 });
            _zipList.Add(new ZipInfo() { State = "South Carolina", Latitude = 33.909, Longitude = -81.0775 });
            _zipList.Add(new ZipInfo() { State = "South Carolina", Latitude = 32.9544, Longitude = -79.8871 });
            _zipList.Add(new ZipInfo() { State = "South Carolina", Latitude = 33.9169, Longitude = -79.7411 });
            _zipList.Add(new ZipInfo() { State = "South Carolina", Latitude = 33.8042, Longitude = -78.7179 });
            _zipList.Add(new ZipInfo() { State = "South Carolina", Latitude = 35.1161, Longitude = -81.5144 });
            _zipList.Add(new ZipInfo() { State = "South Carolina", Latitude = 35.0058, Longitude = -81.2078 });
            _zipList.Add(new ZipInfo() { State = "South Dakota", Latitude = 43.7327, Longitude = -96.629 });
            _zipList.Add(new ZipInfo() { State = "South Dakota", Latitude = 44.0988, Longitude = -102.334 });
            _zipList.Add(new ZipInfo() { State = "Tennessee", Latitude = 35.0455, Longitude = -85.3081 });
            _zipList.Add(new ZipInfo() { State = "Tennessee", Latitude = 36.4638, Longitude = -82.8257 });
            _zipList.Add(new ZipInfo() { State = "Tennessee", Latitude = 35.9362, Longitude = -83.7511 });
            _zipList.Add(new ZipInfo() { State = "Tennessee", Latitude = 35.4939, Longitude = -89.041 });
            _zipList.Add(new ZipInfo() { State = "Tennessee", Latitude = 35.8393, Longitude = -87.2391 });
            _zipList.Add(new ZipInfo() { State = "Texas", Latitude = 33.4459, Longitude = -94.0781 });
            _zipList.Add(new ZipInfo() { State = "Texas", Latitude = 32.5836, Longitude = -95.1086 });
            _zipList.Add(new ZipInfo() { State = "Texas", Latitude = 32.3284, Longitude = -95.3036 });
            _zipList.Add(new ZipInfo() { State = "Texas", Latitude = 33.6568, Longitude = -96.9049 });
            _zipList.Add(new ZipInfo() { State = "Texas", Latitude = 33.582, Longitude = -98.4336 });
            _zipList.Add(new ZipInfo() { State = "Texas", Latitude = 31.4734, Longitude = -97.7375 });
            _zipList.Add(new ZipInfo() { State = "Texas", Latitude = 32.1418, Longitude = -96.9604 });
            _zipList.Add(new ZipInfo() { State = "Texas", Latitude = 31.5314, Longitude = -97.1914 });
            _zipList.Add(new ZipInfo() { State = "Texas", Latitude = 31.6675, Longitude = -100.717 });
            _zipList.Add(new ZipInfo() { State = "Texas", Latitude = 29.7951, Longitude = -94.3502 });
            _zipList.Add(new ZipInfo() { State = "Texas", Latitude = 30.0932, Longitude = -94.1463 });
            _zipList.Add(new ZipInfo() { State = "Texas", Latitude = 30.535, Longitude = -96.3013 });
            _zipList.Add(new ZipInfo() { State = "Texas", Latitude = 28.8509, Longitude = -96.8885 });
            _zipList.Add(new ZipInfo() { State = "Texas", Latitude = 27.4208, Longitude = -98.8537 });
            _zipList.Add(new ZipInfo() { State = "Texas", Latitude = 27.8002, Longitude = -97.3961 });
            _zipList.Add(new ZipInfo() { State = "Texas", Latitude = 26.1094, Longitude = -97.1676 });
            _zipList.Add(new ZipInfo() { State = "Texas", Latitude = 26.1591, Longitude = -97.9905 });
            _zipList.Add(new ZipInfo() { State = "Texas", Latitude = 29.7811, Longitude = -97.8358 });
            _zipList.Add(new ZipInfo() { State = "Texas", Latitude = 30.0139, Longitude = -97.1597 });
            _zipList.Add(new ZipInfo() { State = "Texas", Latitude = 35.2026, Longitude = -101.819 });
            _zipList.Add(new ZipInfo() { State = "Texas", Latitude = 33.6095, Longitude = -101.905 });
            _zipList.Add(new ZipInfo() { State = "Texas", Latitude = 32.4689, Longitude = -99.7097 });
            _zipList.Add(new ZipInfo() { State = "Texas", Latitude = 31.7379, Longitude = -102.592 });
            _zipList.Add(new ZipInfo() { State = "Texas", Latitude = 31.7691, Longitude = -106.427 });
            _zipList.Add(new ZipInfo() { State = "Utah", Latitude = 41.2231, Longitude = -111.973 });
            _zipList.Add(new ZipInfo() { State = "Utah", Latitude = 40.1396, Longitude = -111.574 });
            _zipList.Add(new ZipInfo() { State = "Virginia", Latitude = 37.1305, Longitude = -77.8521 });
            _zipList.Add(new ZipInfo() { State = "Virginia", Latitude = 37.7528, Longitude = -79.8192 });
            _zipList.Add(new ZipInfo() { State = "Virginia", Latitude = 37.8118, Longitude = -78.5116 });
            _zipList.Add(new ZipInfo() { State = "Virginia", Latitude = 36.6289, Longitude = -79.1885 });
            _zipList.Add(new ZipInfo() { State = "Virginia", Latitude = 37.561, Longitude = -79.0802 });
            _zipList.Add(new ZipInfo() { State = "Vermont", Latitude = 44.4277, Longitude = -73.088 });
            _zipList.Add(new ZipInfo() { State = "Washington", Latitude = 48.9658, Longitude = -122.2 });
            _zipList.Add(new ZipInfo() { State = "Washington", Latitude = 46.9954, Longitude = -122.876 });
            _zipList.Add(new ZipInfo() { State = "Washington", Latitude = 45.6315, Longitude = -122.52 });
            _zipList.Add(new ZipInfo() { State = "Washington", Latitude = 46.4195, Longitude = -120.259 });
            _zipList.Add(new ZipInfo() { State = "Washington", Latitude = 47.659, Longitude = -117.422 });
            _zipList.Add(new ZipInfo() { State = "Washington", Latitude = 46.2804, Longitude = -119.291 });
            _zipList.Add(new ZipInfo() { State = "Wisconsin", Latitude = 43.6761, Longitude = -87.944 });
            _zipList.Add(new ZipInfo() { State = "Wisconsin", Latitude = 42.7261, Longitude = -87.7828 });
            _zipList.Add(new ZipInfo() { State = "Wisconsin", Latitude = 42.6241, Longitude = -89.2434 });
            _zipList.Add(new ZipInfo() { State = "Wisconsin", Latitude = 43.0983, Longitude = -89.3246 });
            _zipList.Add(new ZipInfo() { State = "Wisconsin", Latitude = 44.4201, Longitude = -88.1073 });
            _zipList.Add(new ZipInfo() { State = "Wisconsin", Latitude = 44.8465, Longitude = -90.3215 });
            _zipList.Add(new ZipInfo() { State = "Wisconsin", Latitude = 44.9369, Longitude = -91.3927 });
            _zipList.Add(new ZipInfo() { State = "Wisconsin", Latitude = 44.119, Longitude = -88.7343 });
            _zipList.Add(new ZipInfo() { State = "West Virginia", Latitude = 38.4417, Longitude = -81.9531 });
            _zipList.Add(new ZipInfo() { State = "West Virginia", Latitude = 39.6149, Longitude = -78.7624 });
            _zipList.Add(new ZipInfo() { State = "Wyoming", Latitude = 41.1884, Longitude = -104.076 });
            _zipList.Add(new ZipInfo() { State = "Wyoming", Latitude = 43.1105, Longitude = -107.015 });
            #endregion

            #region State
            _stateList.Add("Alabama");
            _stateList.Add("Alaska");
            _stateList.Add("Arizona");
            _stateList.Add("Arkansas");
            _stateList.Add("California");
            _stateList.Add("Colorado");
            _stateList.Add("Connecticut");
            _stateList.Add("Delaware");
            _stateList.Add("Florida");
            _stateList.Add("Georgia");
            _stateList.Add("Hawaii");
            _stateList.Add("Idaho");
            _stateList.Add("Illinois");
            _stateList.Add("Indiana");
            _stateList.Add("Iowa");
            _stateList.Add("Kansas");
            _stateList.Add("Kentucky");
            _stateList.Add("Louisiana");
            _stateList.Add("Maine");
            _stateList.Add("Maryland");
            _stateList.Add("Massachusetts");
            _stateList.Add("Michigan");
            _stateList.Add("Minnesota");
            _stateList.Add("Mississippi");
            _stateList.Add("Missouri");
            _stateList.Add("Montana");
            _stateList.Add("Nebraska");
            _stateList.Add("Nevada");
            _stateList.Add("New Hampshire");
            _stateList.Add("New Jersey");
            _stateList.Add("New Mexico");
            _stateList.Add("New York");
            _stateList.Add("North Carolina");
            _stateList.Add("North Dakota");
            _stateList.Add("Ohio");
            _stateList.Add("Oklahoma");
            _stateList.Add("Oregon");
            _stateList.Add("Pennsylvania");
            _stateList.Add("Rhode Island");
            _stateList.Add("South Carolina");
            _stateList.Add("South Dakota");
            _stateList.Add("Tennessee");
            _stateList.Add("Texas");
            _stateList.Add("Utah");
            _stateList.Add("Vermont");
            _stateList.Add("Virginia");
            _stateList.Add("Washington");
            _stateList.Add("West Virginia");
            _stateList.Add("Wisconsin");
            _stateList.Add("Wyoming");
            #endregion

            #endregion

            Console.WriteLine("Press any key to start...");
            Console.ReadKey();
            Console.WriteLine("Starting...");

            const int MAXCOUNT = 20000;
            var rnd = new Random();
            using (var factory = RepositoryConnection.GetFactory())
            {
                var service = factory.CreateChannel();
                service.Clear();

                for (var ii = 1; ii <= MAXCOUNT; ii++)
                {
                    var company = _companyList[rnd.Next(0, _companyList.Count)];
                    var jobType = _jobTypeList[rnd.Next(0, _jobTypeList.Count)];
                    //var state = _stateList[rnd.Next(0, _stateList.Count)];
                    var positionType = _positionTypeList[rnd.Next(0, _positionTypeList.Count)];
                    var zip = _zipList[rnd.Next(0, _zipList.Count)];

                    //randomize the geo by +-30 miles
                    var newZip = new ZipInfo() { Latitude = (zip.Latitude + (rnd.Next(0, 20) / 69.0) * (rnd.Next(2) == 0 ? 1 : -1)), Longitude = (zip.Longitude + (rnd.Next(0, 20) / 69.0) * (rnd.Next(2) == 0 ? 1 : -1)) };
                    var state = zip.State;

                    var description = company + " has a " + positionType.ToLower() + " outpatient internal medicine job in " + state + " starting in June. The doctor will work 40-hours each week, the days are flexible. Each day the internal medicine doctor will see 10-20 patients a day.";

                    var newItem = new ListingItem
                                      {
                                          Company = company,
                                          Description = description,
                                          Job_type = jobType,
                                          JobID = ii,
                                          Position_type = positionType,
                                          PostDate = DateTime.Now.AddMinutes(-rnd.Next(0, 43200)), //last month
                                          Specialty = _specialtyList[rnd.Next(0, _specialtyList.Count)],
                                          State = state,
                                          Location = new Celeriq.Common.GeoCode() { Latitude = newZip.Latitude, Longitude = newZip.Longitude }
                                      };

                    if (ii%10 == 0)
                        Console.WriteLine("Processing " + ii);

                    RepositoryConnection.UpdateData(newItem, service);
                }
            }

            Console.WriteLine("Complete...Press any key");
        }
    }

    internal class ZipInfo
    {
        public string State { get; set; }
        public double Latitude { get; set; }
        public double Longitude { get; set; }
    }
}